package com.superman.supermarket.client.widget.star;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.FlowPanel;
import com.superman.mvpframe.client.utils.MobileUtils;

/**
 * 评价的星星
 * 
 * @author superman
 * @version 2018年8月15日下午11:28:21
 */
public class CommentStarList extends FlowPanel {

	private int value = 1;

	/**
	 * 构造方法
	 * 
	 * @author superman
	 * @version 2018年8月15日 下午11:28:24
	 */
	public CommentStarList() {

		this.addStyleName("flex-h flex-vc flex-he");
	}

	/**
	 * @author superman
	 * @version 2018年8月15日 下午11:28:26
	 * @param count
	 * @param allowTap
	 */
	public void addStar(int count, boolean allowTap) {
		for (int i = 1; i <= count; i++) {
			final CommentStar cell = new CommentStar(i);
			if (i != 1)
				cell.getElement().getStyle().setProperty("marginLeft", MobileUtils.px2(10) + "px");
			this.add(cell);
			if (allowTap)
				cell.addDomHandler(new ClickHandler() {

					@Override
					public void onClick(ClickEvent event) {

						setValue(cell.getIndex());

					}
				}, ClickEvent.getType());
		}
	}

	/**
	 * 获取当前星星的数量
	 * 
	 * @author superman
	 * @version 2018年8月18日 下午5:33:33
	 * @return value
	 */
	public int getValue() {
		return value;
	}

	/**
	 * 设置星星的数量
	 * 
	 * @author superman
	 * @version 2018年8月18日 下午5:33:36
	 * @param value
	 */
	public void setValue(int value) {
		this.value = value;
		for (int i = 0; i < this.getWidgetCount(); i++) {
			CommentStar cell = (CommentStar) this.getWidget(i);
			if (cell.getIndex() <= value)
				cell.changeToHighLight();
			else
				cell.changeToDefault();
		}
	}

}
